home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld: Super Stacks!
/
Macworld CD.iso
/
SuperStacks
/
Electronic Whole Earth
/
LEARNING
/
LEARNING
/
card_378691.txt
< prev
next >
Wrap
Text File
|
1990-04-20
|
13KB
|
528 lines
-- card: 378691 from stack: in
-- bmap block id: 0
-- flags: 4000
-- background id: 383049
-- name: Contents
----- HyperTalk script -----
-- do not remove
-- cd Contents script
on showMover
show btn "Put Article"
show btn "After"
show btn "PushMover"
show btn "To Other Stack"
show btn "Do It"
show btn "Un/Lock"
show bg fld "theMover"
show bg fld "theTarget"
end showMover
on hideMover
hide btn "Put Article"
hide btn "After"
hide btn "PushMover"
hide btn "To Other Stack"
hide btn "Do It"
hide btn "Un/Lock"
hide bg fld "theMover"
hide bg fld "theTarget"
end hideMover
-- part 49 (button)
-- low flags: 80
-- high flags: 8002
-- rect: left=12 top=0 right=17 bottom=87
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Put Article
----- HyperTalk script -----
on mouseUp
put value( the selectedLine ) into bg field "theMover"
end mouseUp
-- part 50 (button)
-- low flags: 80
-- high flags: 8002
-- rect: left=12 top=20 right=38 bottom=53
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: After
----- HyperTalk script -----
on mouseUp
put value( the selectedLine) into bg field "theTarget"
end mouseUp
-- part 51 (button)
-- low flags: 80
-- high flags: 0000
-- rect: left=380 top=0 right=31 bottom=404
-- title width / last selected line: 0
-- icon id / first selected line: 2730 / 2730
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: pushMover
----- HyperTalk script -----
on mouseUp
put bg field "theMover" into bg field "theTarget"
end mouseUp
-- part 52 (button)
-- low flags: 80
-- high flags: A004
-- rect: left=406 top=0 right=16 bottom=512
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: To Other Stack
----- HyperTalk script -----
on mouseUp
global lastStack, stackList
put bkgnd field "theMover" into sourceTitle
if sourceTitle is empty then
beep
put "No Source Title given!"
exit mouseUp
end if
put bkgnd field "theTarget" into targetTitle
if targetTitle is empty then
-- beep
put "No Target Title given!"
-- exit mouseUp
end if
go to first card in background "Review"
find sourceTitle in bkgnd field "theTitle"
if the result is "not found" then
go to card "Contents"
beep
put "Source Title not found!" into msg
exit mouseUp
end if
put bkgnd field "theTitle" into sourceTitle2
put empty into sourceIds
repeat while sourceTitle2 is in bkgnd field "theTitle"
get the id of this card
put it & return after sourceIds
go to next card
if number of this card is 1 then exit repeat
end repeat
repeat
go to card "Contents"
answer "Found" && number of lines in sourceIds && "cards to move." with "Cancel" or "Review" or "OK"
if it is "Cancel" then exit mouseUp
if it is "OK" then exit repeat
repeat with thisID = 1 to number of lines in sourceIds
go to (line thisID of sourceIds)
end repeat
end repeat
-- start new code
repeat
Ask "Domain Number of target stack?" with lastStack
if it is empty then exit mouseUp
put it into targStackNum
if length( targStackNum ) < 2 then put "0" before targStackNum
put item it of stackList into targetStack
put it into lastStack
put id of this card into testID
push card
go to stack targetStack
if id of this card is testID then
beep
put "Stack not found"
pop card
else
exit repeat
end if
end repeat
go to first card in background "Review"
if targetTitle is empty then
go to last card
put field "theTitle" into targetTitle
else
find targetTitle in bkgnd field "theTitle"
if the result is "not found" then
go to card "Contents"
beep
put "Target Title not found!" into msg
pop card
exit mouseUp
end if
end if
put bkgnd field "theTitle" into targetTitle2
repeat while bkgnd field "theTitle" is targetTitle2
get the id of this card
put it into targetID
go to next card
if number of this card is 1 then exit repeat
end repeat
go to (targetId)
answer "Put them after this card?" with "Cancel" or "OK"
if it is "Cancel" then
pop card
exit mouseUp
end if
pop card
-- now to actually move the cards
repeat with thisId = 1 to number of lines in sourceIds
put (line thisId of sourceIds) into srcCard
go to srcCard
lock screen
put the short name of this bkgnd into thisBkgnd
put getFields() into fieldCount
put "fc: " & fieldCount
push card
-- go get blank template card for this bg
do ("go to first card of bkgnd" && thisBkgnd && "of stack" && targetStack)
doMenu Copy Card
go to targetId
doMenu Paste Card
get the long id of this card
put it into targetId
putFields fieldCount
put targetStack into bg field "theTopic"
put targStackNum & char 3 to length( field accession) of field accession into field accession
if field "theIdent" is "access" then
if field surveyAccession is not empty then
put targStackNum & char 3 to length( field surveyAccession) of field surveyAccession into field surveyAccession
end if
end if
-- move graphic, if appropriate
if thisBkgnd is in "access,picture" then
pop card
-- horrible kluge...
-- make a speck on the card picture, so we never copy a blank pict
choose pencil tool
click at 280,180 -- where there's prob'ly some graphic already
-- we unmake the speck with another pencil click
-- our card looks the same as originally, but is guaranteed to
-- have a nonempty card picture
click at 280,180
choose select tool
domenu "Select All"
doMenu "Copy Picture"
push card
go to targetId
doMenu "Paste Picture"
choose browse tool
-- make it transparent in all cases EXCEPT when fullScreen picture
put no into decision
if thisBkgnd is "access"
then put yes into decision
else if thisBkgnd is "picture" then
-- put "fs: " & field "fullScreen"
if field "fullScreen" is empty
then put yes into decision
end if
if decision is "yes" then
choose select tool
domenu "Select All"
doMenu "transparent"
choose browse tool
end if
end if
unlock screen
pop card
end repeat
-- update both TOC
go to card "Contents"
put offset (sourceTitle, bkgnd field "theContents") into sourceOff
if sourceOff is 0 then
beep
put "Regenerate Contents of Source!"
else
delete char sourceOff to (sourceOff + length(sourceTitle) - 1) of bkgnd field "theContents"
if char sourceOff of bkgnd field "theContents" is return then
delete char sourceOff of bkgnd field "theContents"
end if
if last char of sourceTitle is not return then put return after sourceTitle
end if
push card
go to card "Contents" of stack targetStack
put offset(targetTitle, bkgnd field "theContents") into targetOff
if targetOff is 0 then
beep
put "Regenerate Contents of Target!"
pop card
exit mouseUp
end if
add length(targetTitle) to targetOff
if char targetOff of bkgnd field "theContents" is return then add 1 to targetOff
put sourceTitle before char targetOff of bkgnd field "theContents"
pop card
end mouseUp
function getFields
global nameList
global fContents
put empty into nameList
put empty into fContents
put the number of bg fields into bgfc
repeat with f = 1 to bgfc
put the name of bg field f & tab after nameList
put bg field f & tab after fContents
end repeat
put the number of card fields into crdfc
repeat with f = 1 to crdfc
put the name of card field f & tab after nameList
put card field f & tab after fContents
end repeat
return bgfc + crdfc
end getFields
on putFields fCounts
global nameList
global fContents
put first item of fCounts into bgfc
put last item of fCounts into crdfc
repeat with f = 1 to bgfc
put pullName() into fName
put fName
do "put pullContents() into " & fName
end repeat
end putFields
function pullContents
-- returns tab-delimited chunk from global fContents
-- deletes it from global fContents, too
global fContents
put offset( tab, fContents ) into tabSpot
if tabSpot > 0 then
get char 1 to tabSpot-1 of fContents
delete char 1 to tabSpot of fContents
return it
end if
return empty
end pullContents
function pullName
-- returns tab-delimited chunk from global nameList
-- deletes it from global nameList, too
global nameList
put offset( tab, nameList ) into tabSpot
if tabSpot > 0 then
get char 1 to tabSpot-1 of nameList
delete char 1 to tabSpot of nameList
return it
end if
return empty
end pullName
-- part 53 (button)
-- low flags: 80
-- high flags: A004
-- rect: left=406 top=16 right=32 bottom=512
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Do It
----- HyperTalk script -----
on mouseUp
put bkgnd field "theMover" into sourceTitle
if sourceTitle is empty then
beep
put "No Source Title given!"
exit mouseUp
end if
put bkgnd field "theTarget" into targetTitle
if targetTitle is empty then
beep
put "No Target Title given!"
exit mouseUp
end if
go to first card in background "Review"
find sourceTitle in bkgnd field "theTitle"
if the result is "not found" then
go to card "Contents"
beep
put "Source Title not found!" into msg
exit mouseUp
end if
put bkgnd field "theTitle" into sourceTitle2
put empty into sourceIds
repeat while sourceTitle2 is in bkgnd field "theTitle"
get the id of this card
put it & return after sourceIds
go to next card
if number of this card is 1 then exit repeat
end repeat
repeat
go to card "Contents"
answer "Found" && number of lines in sourceIds && "cards to move." with "Cancel" or "Review" or "OK"
if it is "Cancel" then exit mouseUp
if it is "OK" then exit repeat
repeat with thisID = 1 to number of lines in sourceIds
go to (line thisID of sourceIds)
end repeat
end repeat
go to first card in background "Review"
find targetTitle in bkgnd field "theTitle"
if the result is "not found" then
go to card "Contents"
beep
put "Target Title not found!" into msg
exit mouseUp
end if
put bkgnd field "theTitle" into targetTitle2
repeat while bkgnd field "theTitle" is targetTitle2
get the id of this card
put it into targetID
go to next card
if number of this card is 1 then exit repeat
end repeat
go to (targetId)
answer "Put them after this card?" with "Cancel" or "OK"
if it is "Cancel" then exit mouseUp
push card
repeat with thisId = 1 to number of lines in sourceIds
go to (line thisId of sourceIds)
doMenu Cut Card
pop card
doMenu Paste Card
push card
end repeat
pop card
go to card "Contents"
put offset (sourceTitle, bkgnd field "theContents") into sourceOff
if sourceOff is 0 then
beep
put "Regenerate Contents!"
exit mouseUp
end if
delete char sourceOff to (sourceOff + length(sourceTitle) - 1) of bkgnd field "theContents"
if char sourceOff of bkgnd field "theContents" is return then
delete char sourceOff of bkgnd field "theContents"
end if
if last char of sourceTitle is not return then put return after sourceTitle
put offset(targetTitle, bkgnd field "theContents") into targetOff
if targetOff is 0 then
beep
put "Regenerate Contents!"
exit mouseUp
end if
add length(targetTitle) to targetOff
if char targetOff of bkgnd field "theContents" is return then add 1 to targetOff
put sourceTitle before char targetOff of bkgnd field "theContents"
end mouseUp
-- part 54 (button)
-- low flags: 80
-- high flags: A004
-- rect: left=406 top=32 right=48 bottom=512
-- title width / last selected line: 0
-- icon id / first selected line: 0 / 0
-- text alignment: 1
-- font id: 0
-- text size: 12
-- style flags: 0
-- line height: 16
-- part name: Un/Lock
----- HyperTalk script -----
on mouseUp
get the lockText of fld "theContents"
if it is false then
set the lockText of fld "theContents" to true
else
set the lockText of fld "theContents" to false
end if
end mouseUp
-- part contents for background part 6
----- text -----
Contents
-- part contents for background part 11
----- text -----
Menu
-- part contents for background part 17
----- text -----
LEARNING CONTENTS
-- part contents for background part 33
----- text -----
card id 7500
card id 42699
card id 14230
card id 384827
-- part contents for background part 34
----- text -----
06053003
06049007
06104505
06062355
-- part contents for background part 35
----- text -----
1
2
3
4
-- part contents for background part 18
----- text -----
LEARNING
KNOWLEDGE
Books on Tape I
Caedmon
-- part contents for background part 38
----- text -----
• WHOLE EARTH
• LEARNING
-- part contents for background part 39
----- text -----
stack "WHOLE EARTH"
stack "LEARNING"